home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 2010 April / PCWorld0410.iso / redakcyjne / PEBuilder / pebuilder3110a.exe / {app} / plugin / nu2menu / sample-menu.xml < prev    next >
Extensible Markup Language  |  2004-12-29  |  10KB  |  261 lines

  1. <?xml version="1.0"?>
  2. <!--    
  3.     If you like this program, please support it by donating some money to Henk de Jong.
  4.     You can do this here at: http://www.nu2.nu/thanks/henk/
  5.  
  6.     2004-12-01 (V0.349)
  7.     New:
  8.     Shift bitwise left
  9.     @Shl( ValueToShift, HowManyPositions )
  10.     
  11.     Shift bitwise right
  12.     @Shr( ValueToShift, HowManyPositions )
  13.  
  14.     @And( ValueToAnd, AndWith )
  15.  
  16.     Changed:
  17.     @Or()
  18.     @Not()
  19.     
  20.     Menu item sub node DISABLED is replaced by VISIBILITY. 
  21.     For backward compatibility the DISABLED node only works when the sub node VISIBILITY does not exist.
  22.     Do not use the sub node DISABLED anymore!!!!!!
  23.     VISIBILITY="0" -> Normal
  24.     VISIBILITY="1" -> Disabled
  25.     VISIBILITY="2" -> Hidden
  26.     
  27.     2004-09-08 (V0.348)
  28.     New:
  29.     Get OS version number
  30.     @GetOSVersion()
  31.     
  32.     Get service pack number
  33.     @GetServicePackNumber()
  34.  
  35.     2004-07-28 (V0.347b)
  36.     Fixed SetMenuPos:
  37.     Menu position when changing screen size when using Parm0/1 R,L / T,B
  38.     
  39.     2004-07-26 (V0.347)
  40.     New:
  41.     Set menu posistion
  42.     @SetMenuPos( XPos, YPos  )
  43.     Parm 0 -> XPos = x position
  44.               XPos can also be 'R' for right, 'L' for left or 'C' for center
  45.     Parm 1 -> YPos = y position
  46.               YPos can also be 'T' for top, 'B' for bottom or 'C' for center
  47.     
  48.     Example: @SetMenuPos( '100','400' )
  49.     
  50.     Example: Set menu position to the top right corner
  51.     @SetMenuPos( 'R','T' )
  52.  
  53.     2004-05-27 (V0.346)
  54.     New:
  55.     Get Registry Key
  56.     @GetRegKey( RootKey, SubKey, KeyName, KeyType ) 
  57.     RootKey can be one of the following:
  58.     'HKLM' -> HKEY_LOCAL_MACHINE
  59.     'HKCU' -> HKEY_CURRENT_USER
  60.     'HKCR' -> HKEY_CLASSES_ROOT
  61.     'HKU' -> HKEY_USERS
  62.     'HKCC' -> HKEY_CURRENT_CONFIG
  63.     
  64.     KeyType can be one of the following:
  65.     REG_SZ -> String
  66.     REG_EXPAND_SZ -> expandable string
  67.     REG_BINARY -> Binary
  68.     REG_DWORD -> DWORD
  69.     
  70.     Example: Get PE-Builder Version
  71.     @GetRegKey( 'HKLM', 'SYSTEM\CurrentControlSet\Control\PE Builder', 'Version', 'REG_SZ' )
  72.  
  73.     2004-03-17 (V0.345)
  74.     New:
  75.     @Exit(), function for shutting down nu2menu
  76.     
  77.     Added command line tool nu2menumsg for sending messages to nu2menu.
  78.     Examples nu2menumsg:
  79.     - nu2menumsg @Exit()
  80.       Exits nu2menu, in BartPE you can shut it down.
  81.     - nu2menumsg @Reload()
  82.       Reloads nu2menu
  83.     - nu2menumsg @SetEnvVar( 'NUMENU',@GetFolderDialog('Select folder','c:\') )
  84.       Sets environment variable NU2MENU with a selected folder name
  85.  
  86.     2003-10-02 (V0.343)
  87.     New:
  88.     @ShowRunDialog(), show the default windows run dialog. (thanks to Cyberian)    
  89.     
  90.     2003-08-11 (V0.342)
  91.     Fixed: loading your own Go/Start button. 
  92.     
  93.     2003-08-08 (V0.341)
  94.     New:
  95.     You can load your own Go/Start button. Fileformat is BMP. The file must be in the same directory as the nu2menu executable.
  96.     The filename must be "nu2go.bmp"
  97.     
  98.     @Ver -> displays version of nu2menu
  99.     
  100.     2003-07-22
  101.     New:
  102.     @OsBuild -> returns OS build number
  103.  
  104.     @Exec()    -> executes file
  105.         Parm 0 -> filename to execute
  106.         Parm 1 -> show parameter, see PARM attributes when CMD="RUN"
  107.     
  108.     @Or( '0','1' ) -> returns 1
  109.     @Or( '0','0' ) -> returns 0
  110.     @Or( '1','' ) -> returns 1
  111.     
  112.     Changed:
  113.     Behaviour of @Not function
  114.     @Not( '1' ) -> returns 0
  115.     @Not( 'piet' ) -> returns 0
  116.     @Not( '0' ) -> returns 1
  117.     @Not( ' ' ) ->return 1
  118.  
  119.     2003-07-21
  120.     New:
  121.     @Reload() Reload menu as a function, returns nothing
  122.  
  123.     Changed:
  124.     GetFolderDialog didn't show any folders under WinPE
  125.     If you do not want an error message when using @GetFolderDialog, you must create the following directory in the systemdrive:
  126.         documents and settings\default user\desktop
  127.  
  128.  
  129.     New:
  130.     2003-07-02
  131.     The following functions are implemented:    
  132.     @ChangeDir()        Change directory    
  133.     @FileExists()        Checks if file exists
  134.     @GetEnvVar()        Get environment variable
  135.     @GetFileDialog()    Get file dialog, returns file name
  136.     @GetFolderDialog()    Get folder dialog, returns folder name
  137.     @GetHostName()        Returns computer/host name    
  138.     @GetProgramDir()    Returns the nu2menu.exe's program directory, like "c:\nu2menu"
  139.     @GetProgramDrive()    Returns the nu2menu.exe's program drive, like "c:"
  140.     @GetTmpDir()        Returns the path of the directory designated for temporary files
  141.     @GetUserName()        Returns username
  142.     @GetVar()        Get global variable
  143.     @GetWinDir()        Returns the windows directory, like "c:\windows"
  144.     @Not()            Not, 0->1, 1->0
  145.     @Null()            Kind of a null device
  146.     @SetEnvVar()        Set environment variable
  147.     @SetVar()        Set global variable, so you can use anywhere else in the menu system
  148.     
  149.     For now, see nu2menu.xml file for sample implementations
  150.     All other command-line tokens with %...% are replaced with similar functions
  151.             
  152.     **** Command-line tokes and functions are CASE-SENSITIVE ****    
  153.     These command-line tokens will work in the menu item name and the FUNC-Node    
  154.     PARM attributes when CMD="RUN"    
  155.         Number values for "show":
  156.         0   hide             
  157.         1   normal           
  158.         2   showminimized    
  159.         3   maximize         
  160.         4   shownoactivate   
  161.         5   show             
  162.         6   minimize         
  163.         7   showminnoactive  
  164.         8   showna           
  165.         9   restore          
  166.         10  showdefault      
  167.         11  forceminimize
  168.         Default = 1
  169.         
  170.     <MITEM TYPE="ITEM" CMD="HIDEFROMTASKBAR">Hide from taskbar</MITEM>
  171.     <MITEM TYPE="ITEM" CMD="SHOWINTASKBAR">Show in taskbar</MITEM>
  172.     <MITEM TYPE="ITEM" CMD="RELOAD">Reload menu</MITEM>
  173.     
  174.     Shortcut ALT-M to open nu2menu
  175.     
  176.     Changed:
  177.     The way to start an application:
  178.     
  179.     Fixed:
  180.     2003-06-12
  181.     Removed uppercasing FUNC attribute
  182.     2003-06-11
  183.     Could not read a menu file bigger then 4096 bytes
  184. -->
  185.  
  186. <NU2MENU ID="Nu2MenuSystem001"
  187.    AUTHOR="Henk de Jong"
  188.    DATE="2004-12-01, 21:12"
  189.    VERSION="V0.349"
  190.    COPYRIGHT="(c)2003-2004 Nu2 Productions"
  191.    REMARK="ALL NODES ARE CASE-SENSITIVE!!!!!">
  192.  
  193.     <MENU ID="mainmenu">                               
  194.         <MITEM TYPE="ITEM" DISABLED="@SetMenuPos( 'L','B' )@Not(@FileExists( @GetWinDir()\system32\notepad.exe ))" CMD="RUN" FUNC="@GetWinDir()\system32\notepad.exe" PARM="1">@GetWinDir()\system32\Notepad</MITEM>        
  195.         <MITEM TYPE="ITEM" VISIBILITY="@Shl(@Not(@FileExists( @GetWinDir()\system32\notepedd.exe )),'1')" CMD="RUN" FUNC="@GetWinDir()\system32\notepedd.exe" PARM="1">@GetWinDir()\system32\Notepedd</MITEM>
  196.         
  197.         <MITEM TYPE="SEPARATOR"></MITEM>                         
  198.         <MITEM TYPE="POPUP" MENUID="admin">Admin</MITEM>
  199.         <MITEM TYPE="SEPARATOR"></MITEM> 
  200.  
  201.         <MITEM TYPE="ITEM" CMD="RUN" FUNC="@Null( @ChangeDir('c:\temp')@ChangeDir('c:\tmps')@ChangeDir('c:\tmp') )cmd.exe">Cmd</MITEM>
  202.         <MITEM TYPE="ITEM" CMD="RUN" FUNC="@Null( @SetEnvVar( 'NUMENU','c:\nu2menu') )cmd.exe">Cmd with set env</MITEM>        
  203.         <MITEM TYPE="ITEM">Windows dir: @GetWinDir()</MITEM>
  204.         <MITEM TYPE="ITEM">Program dir: @GetProgramDir()</MITEM>
  205.         <MITEM TYPE="ITEM">Program drive: @GetProgramDrive()</MITEM>
  206.         <MITEM TYPE="ITEM">User name: @GetUserName()</MITEM>
  207.         <MITEM TYPE="ITEM">Host name: @GetHostName()</MITEM>
  208.         <MITEM TYPE="ITEM">Tmp dir: @GetTmpDir()</MITEM>
  209.          <MITEM TYPE="ITEM">Print function name: @@GetWinDir()</MITEM>
  210.         <MITEM TYPE="ITEM">Get environment ComSpec: @GetEnvVar( 'ComSpec' )</MITEM>
  211.         <MITEM TYPE="ITEM">Change dir: @ChangeDir( 'c:\tmp' )</MITEM>
  212.         <MITEM TYPE="ITEM" CMD="RUN" FUNC="@GetWinDir()\system32\notepad.exe @GetFileDialog( 'xml',' ','nu2menu file (.xml)|*.xml|All Files (*.*)|*.*||' )">Edit a menu file</MITEM>
  213.         <MITEM TYPE="ITEM" CMD="RUN" FUNC="@Null( @ChangeDir(@GetFolderDialog( 'Select directory', 'c:\')))cmd.exe">Get folder with change dir</MITEM>
  214.         <MITEM TYPE="ITEM" DISABLED="@SetVar( 'PEBuilder', 'V2.0')">@GetVar( 'PEBuilder' )</MITEM>
  215.         <MITEM TYPE="ITEM" CMD="RUN" FUNC="@Reload()">Reload as a function</MITEM>
  216.         <MITEM TYPE="ITEM">And demo: @And( '0','0' )@And( '1','0' )@And( '0','1' )@And( '1','1' )</MITEM>
  217.         <MITEM TYPE="ITEM">Or demo: @Or( '0','0' )@Or( '1','0' )@Or( '0','1' )@Or( 'piet','0' )@Or( '0','dag' )@Or( '',' ' )</MITEM>
  218.         <MITEM TYPE="ITEM">Not demo: @Not( '1' )@Not('piet')@Not('0')@Not(' ')</MITEM>
  219.         <MITEM TYPE="ITEM" CMD="RUN" FUNC="@Null( @Exec( @GetWinDir()\system32\notepad.exe, 3 )@Exec( 'cmd.exe',1 ) )">Start notepad maximized and cmd.exe</MITEM>
  220.         <MITEM TYPE="ITEM" CMD="RUN" FUNC="@ShowRunDialog()">Run...</MITEM>
  221.  
  222.         <!--
  223.         <MITEM TYPE="ITEM">@Null( @Exec( 'cmd.exe',1)) This item is executed at startup / reload</MITEM>
  224.         -->
  225.         
  226.         <MITEM TYPE="ITEM" VISIBILITY="0">Example visibility 1 Normal</MITEM>        
  227.         <MITEM TYPE="ITEM" VISIBILITY="1">Example visibility 1 Disabled</MITEM>
  228.         <MITEM TYPE="ITEM" VISIBILITY="2">Example visibility 1 Hidden</MITEM>
  229.         <MITEM TYPE="ITEM" VISIBILITY="@Shl('1','1')">Example visibility with @@Shl('1','1')</MITEM>        
  230.  
  231.         <!--        
  232.         <MITEM TYPE="ITEM" VISIBILITY="@SetItemVisibility('0')">Example visibility 2 Normal</MITEM>
  233.         <MITEM TYPE="ITEM" VISIBILITY="@SetItemVisibility('1')">Example visibility 2 Disabled</MITEM>
  234.         <MITEM TYPE="ITEM" VISIBILITY="@SetItemVisibility('2')">Example visibility 2 Hidden</MITEM>
  235.         -->
  236.         
  237.         <MITEM TYPE="ITEM">Example Shl('4','3') = @Shl('4','3')</MITEM>
  238.         <MITEM TYPE="ITEM">Example Shr('15','2') = @Shr('15','2')</MITEM>
  239.         <MITEM TYPE="ITEM" VISIBILITY="1">OS Build number: @OsBuild()</MITEM>
  240.         <MITEM TYPE="ITEM" VISIBILITY="1">OS Version number: @GetOSVersion()</MITEM>
  241.         <MITEM TYPE="ITEM" VISIBILITY="1">Service Pack number: @GetServicePackNumber()</MITEM>
  242.         <MITEM TYPE="ITEM" VISIBILITY="1">Nu2Menu version: @Ver()</MITEM>
  243.         <MITEM TYPE="ITEM" VISIBILITY="1">Internet Explorer Search Assistent @GetRegKey( 'HKLM','Software\Microsoft\Internet Explorer\Search','SearchAssistant','REG_SZ')</MITEM>
  244.         <MITEM TYPE="ITEM" VISIBILITY="1" CMD="">PE-Builder version: @GetRegKey( 'HKLM', 'SYSTEM\CurrentControlSet\Control\PE Builder', 'Version', 'REG_SZ' )</MITEM>
  245.  
  246.         <MITEM TYPE="SEPARATOR"></MITEM>    
  247.         <MITEM TYPE="ITEM" CMD="RUN" FUNC="@Exit()">Exit Nu2menu with a function</MITEM>             
  248.         <MITEM TYPE="SEPARATOR"></MITEM>    
  249.         <MITEM TYPE="ITEM" CMD="EXIT">Exit</MITEM>
  250.     </MENU>    
  251.  
  252.     <MENU ID="admin">    
  253.         <MITEM TYPE="ITEM" CMD="RUN" FUNC="@GetWinDir()\system32\notepad.exe @GetProgramDir()\nu2menu.xml">Edit menu</MITEM>
  254.         <MITEM TYPE="ITEM" CMD="HIDEFROMTASKBAR">Hide from taskbar</MITEM>
  255.         <MITEM TYPE="ITEM" CMD="SHOWINTASKBAR">Show in taskbar</MITEM>
  256.         <MITEM TYPE="ITEM" CMD="RELOAD">Reload menu</MITEM>        
  257.         <MITEM TYPE="ITEM">Henk</MITEM>        
  258.     </MENU>
  259.  
  260. </NU2MENU>
  261.